Day 2: Dynamic Content#
A few useful django db queries
:
variable_name = model_name.objects.all()
Returns all objects from the database for the specified model_name
variable_name = model_name.objects.first()
Returns the first object from the database for the specified model_name
variable_name = model_name.objects.last()
Returns the last object from the database for the specified model_name
variable_name = model_name.objects.get(name='Sam')
Returns an object or objects from the database that match name=‘Sam’ for the specified model_name
variable_name = model_name.objects.order_by('list_date')
Returns an object or objects from the database ordered by list_date for the specified model_name
SQL Queries#
From my C#
projects, it feels already like a layer between the actual SQL
queries and the process. Looking forward to seeing how actual SQL
queries and
SQL stored procedures
are used.
For now it’s django ORM
tricks.
Template tags#
Similar to Razor pages
, django has template tags.
{% ... %}
{% for items in list %}
{% empty %} # if empty
{% endfor %}
Forms#
Pulling form the model in models.py
the forms.py
imports forms
and the
class inherits from forms.ModelForm
from django import forms
from .models import Listings
class ListingForm(forms.ModelForm):
class Meta:
model = Listings
fields = [
'title',
'condition',
...
]
The template used to display the form, new_listing.py
<form action="{% url 'listing_app:new_listing' %}" method='post' enctype="multipart/form-data">
<div class="form-group">
{% csrf_token %}
{{ form.as_p }}
</div>
<button type="submit" class="btn">Create Listing</button>
</form>
{% csrf_token %} - Cross Site Request Forgery Token {{ form.as_p }} – Render Django Forms as paragraph
So far#
The site has a working form, which when first called is blank and once confirmed as valid submits the content, using a csrf_token and returns a redirect address. Good.